A multi-level cell (MLC) is a memory element that can be used to store more than a single bit of information (here single bit means two distinctive logic states, termed ‘0’ and ‘1’ states, in a binary system). A resistive memory device, such as memristor, is one type of memory element that can be used as a multi-level cell. A memristor is a two-terminal electrical element whose resistance can be switched by applying electric signals (voltage or current) beyond certain threshold levels. The bit value stored to the memristor may correspond to a range of resistance values of the memristor. The memristor can be set to a specific bit value by controlling the maximum level of current applied to the memristor during a switching event, thereby controlling the final state of resistance developed in the memristor. During a subsequent read of the memristor, a read voltage is applied to the memristor and the resulting current indicates the bit value that was previously stored to the element. The read voltage is small enough so that a resistive switching is not incurred by the read operation.
In a resistive multi-level cell, such as a multi-level memristor, there is usually no suitable technique for finely controlling the off-state resistance. Thus, the bit value is typically represented by two or more on-states and a single off state. The accessible on-state resistance range is limited. For example, the final on-state resistances may be less than approximately 10 kohm. Meanwhile, the single off-state may be represented by a range of resistances that spread much broader than the distribution of on-state resistances. Additionally, the switching of the cells is typically not continuously tunable. In other words, changing the memristor's bit value is often accomplished in a two-step process, wherein the memristor is first driven to the off state and then driven to a new on-state corresponding to the desired bit value.